Conventionally, amongst methods of establishing a connection in client/server systems, there is a method of identifying the security protocol (for example SSL) activated by the transmitting side based on a connection request received by the receiving side, and using the appropriate protocol to establish the connection. Then messages are encrypted and communication is performed. See, for example, Japanese Patent Laid-Open No. 2009-508261.
Furthermore, a Push communication method has been proposed in which with the starting point of a handshake from a client, communication is performed, from a server on the Internet to a client on an intranet within a firewall, by persistently maintaining a communication connection. See, for example, Internet Engineering Task Force (IETF) RFC 6455: The WebSocket protocol (URL: http://tools.ietf.org/html/rfc6455).
When carrying out the Push communication, and communication connections are persistently maintained between clients and the server, on the server, resources such as memory, CPU and connections continue to be consumed proportionally to the number of clients with which communication is performed. So, in view of resource consumption efficiency on the server, it is desirable to establish the communication connection by performing the handshake from the client only after a time when the Push communication has become necessary, and to release the communication connection when the Push communication has completed.
However, with the conventional methods of establishing connections in client/server systems, it was not possible to instruct from the server to the client so that it would initiate the handshake at the timing of performing the Push communication.